package model

//用户实例
type User struct {
}

//管理员实例
type Admin struct {
}

//用户基本信息
type Info struct {
	ID       string `json:"user_id"`
	User     string `json:"user_name"` //用户昵称
	Password string `json:"user_pwd"`
	Email    string `json:"user_email"` //用户邮箱地址，如“xxxx@xxx.com”
	Type     int    `json:"user_type"`  //用户类型，管理员为0,普通用户为1，普通用户封禁状态为2
}

func (i *Info) Init() {
	i.ID = ""
	i.User = ""
	i.Password = ""
	i.Email = ""
	i.Type = 0
}

//用于接受用户登录时的参数
type ReceiveLogin struct {
	UserName     string `json:"user_name"`
	UserPassword string `json:"user_pwd"`
}

//用户操作是否成功
type Success struct {
	Succeed bool `json:"succeed"`
}

//用户登录返回字段
type LoginData struct {
	Type   int    `json:"type"`
	UserID string `json:"user_id"`
}

//用于接收管理员封禁用户时的参数
type Forbidden struct {
	UserID string `json:"user_id"`
}

//用于接收用户禁用IP地址时的参数
type ForbidIP struct {
	IP string `json:"ip"`
}

//用于在数据库中插入服务器禁用的IP
type ForbiddenIP struct {
	IP string `gorm:"Column:address;Type:varchar(16);NOT NULL"`
}

//用于在数据库中创建用户
type Users struct {
	UserName   string `gorm:"Column:user_name;Type:varchar(30);NOT NULL"`
	UserPwd    string `gorm:"Column:user_passwd;Type:varchar(255);NOT NULL"`
	UserType   int    `gorm:"Column:user_type;Type:int;NOT NULL"`
	UserEmail  string `gorm:"Column:user_email;Type:varchar(30);NOT NULL"`
	SMTPStatus string `gorm:"Column:smtp_state;Type:char(1);NOT NULL"`
	POPStatus  string `gorm:"Column:pop_state;Type:char(1);NOT NULL"`
}



